package com.wgy.Day28异常.异常的处理方法;

import java.io.IOException;

/*
finally代码块
        格式:  try{
                       可能会产生异常的代码
               }catch(定义一个异常的变量,用来接收try中抛出的异常对象){
                    异常的处理逻辑,异常对象之后,怎么处理异常对象
                       一般工作中,会把异常的信息记录到一个日志中
               }
                   ...
               catch(异常类名 变量名){

              }finally{
                   无论是否出现异常都会执行
              }
 注意: 1.finally不能单独使用,必须和try一起使用
      2.finally 一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放(IO)
*/
public class Demo07Finally {
    public static void main(String[] args) {
        try {
            //可能会产生异常的代码
            readFile("d:\\a.tx");
        } catch (IOException e) {
            //异常的处理逻辑
            e.printStackTrace();
        } finally {
            System.out.println("资源释放");
        }

        System.out.println("后续代码执行啦");
    }


    public static void readFile(String fileName) throws IOException {
        //如果文件的后缀名不是.txt结尾,那么我们就抛出IO异常对象,告知方法的调用者,文件的后缀名不对
        if (!fileName.endsWith(".txt")) {
            throw new IOException("传递文件的后缀名不对");
        }

        System.out.println("路径一致,读取文件");
    }
}

